package com.wangzh.baseDataType;

public class Bytes {

    /*
    * 6种数字类型

4种整数型：byte、short、int、long
2种浮点型：float、double
1种字符类型：char

1种布尔型：boolean
*
*
* 基本类型	存储大小	初始化默认值	取值范围	包装类型
byte	1字节（8位）	0	-128~127	Byte
short	2字节（16位）	0	-32768~32767	Short
int	4字节（32位）	0	-2^31 ~ 2^31 - 1	Integer
long	8字节（64位）	0L。"L"理论上不分大小写，但若写成"l"容易与数字"1"混淆，不容易分辨，所以最好大写。	-2^63 ~ 2^63 - 1	Long
float	4字节（32位）	0.0f	符合IEEE754标准的浮点数，1.4E-45 ~ 3.4028235E38	Float
double	8字节（64位）	0.0d	符合IEEE754标准的浮点数，4.9E-324 ~ 1.7976931348623157E308	Double
char	2字节（16位）	‘\u0000’	\u0000 ~ \uffff（十进制等效值为 0~65535，本质也是数值）	Character
boolean	1字节（8位）/4字节（32位）	false	true/false	Boolean
*
*
* 3.数据类型转换
Java中的数据转换主要分为两种：自动类型转换（也称为隐式转换）、强制类型转换（也称为显式转换）。

转换从低级到高级：byte、short、char（三者同级）——> int ——> long ——> float ——> double

自动类型转换：代码无需任何处理，在代码编译时 编译器会自动进行处理。特点——低级转换高级。
强制类型转换：需要在待转换数据类型前 使用 (type)value， type是要强制类型转换后的数据类型，可能会导致溢出或损失精度 。特点——高级转换低级。
    * */
    public static void main(String[] args) {
        //long
        System.out.println("基本类型：long 二进制位数：" + Long.SIZE);
        System.out.println("包装类：java.lang.Long");
        System.out.println("最小值：Long.MIN_VALUE=" + Long.MIN_VALUE);
        System.out.println("最大值：Long.MAX_VALUE=" + Long.MAX_VALUE);
        System.out.println();

//double
        System.out.println("基本类型：double 二进制位数：" + Double.SIZE);
        System.out.println("包装类：java.lang.Double");
        System.out.println("最小值：Double.MIN_VALUE=" + Double.MIN_VALUE);
        System.out.println("最大值：Double.MAX_VALUE=" + Double.MAX_VALUE);
        System.out.println();

//其他类型方法同上类似


        byte a = 'a';
        System.out.println(a);
        char b = 'b';
        System.out.println(b);
    }
}
